
#ifndef M3D_POINT_H_
#define M3D_POINT_H_

#include "m3d.h"

M3D_BEGIN_NAMESPACE

/***********************************/
/************ MPOINT ************/
/***********************************/

class MPoint 
{
public:
	
    MPoint();
    MPoint(int xpos, int ypos);

    int x() const;
    int y() const;


private:
    int xp;
    int yp;
};

inline MPoint::MPoint()
{ xp=0; yp=0; }

inline MPoint::MPoint(int xpos, int ypos)
{ xp = xpos; yp = ypos; }

inline int MPoint::x() const
{ return xp; }

inline int MPoint::y() const
{ return yp; }



/***********************************/
/************ MPOINTF **********/
/***********************************/

class MPointF
{
public:

    MPointF();
    MPointF(const MPoint &p);
    MPointF(mdouble xpos, mdouble ypos);

    mdouble x() const;
    mdouble y() const;



private:
    mdouble xp;
    mdouble yp;

};

inline MPointF::MPointF() : xp(0), yp(0) { }

inline MPointF::MPointF(mdouble xpos, mdouble ypos) : xp(xpos), yp(ypos) { }

inline MPointF::MPointF(const MPoint &p) : xp(p.x()), yp(p.y()) { }

inline mdouble MPointF::x() const
{
    return xp;
}

inline mdouble MPointF::y() const
{
    return yp;
}

	


M3D_END_NAMESPACE

#endif /* M3D_POINT_H_ */
